When preparing palm traits for analysis, I had to remove several variables that contained NAs for our palm species. Also, I removed the descriptive traits about the fruit, and the variable “FruitShape” because it has blank values.
To successfully run this, I had to remove Habitat type from our environmental variables. The problem might be the naming convention. Sarah, can you make three letter codes for these?
That’s unreadable, plotting as seperate.
Summary of RLQ analysis. How to interpret this?
## RLQ analysis
##
## Class: rlq dudi
## Call: rlq(dudiR = acpR.aravo, dudiL = afcL.aravo, dudiQ = acpQ.aravo,
## scannf = FALSE)
##
## Total inertia: 0.657
##
## Eigenvalues:
## Ax1 Ax2 Ax3 Ax4 Ax5
## 0.300155 0.228303 0.083533 0.041707 0.001744
##
## Projected inertia (%):
## Ax1 Ax2 Ax3 Ax4 Ax5
## 45.6877 34.7508 12.7148 6.3484 0.2654
##
## Cumulative projected inertia (%):
## Ax1 Ax1:2 Ax1:3 Ax1:4 Ax1:5
## 45.69 80.44 93.15 99.50 99.77
##
## (Only 5 dimensions (out of 9) are shown)
##
##
## Eigenvalues decomposition:
## eig covar sdR sdQ corr
## 1 0.3001551 0.5478641 1.034229 1.481707 0.3575146
## 2 0.2283026 0.4778102 1.084627 2.004471 0.2197734
##
## Inertia & coinertia R (acpR.aravo):
## inertia max ratio
## 1 1.069629 1.755539 0.6092881
## 12 2.246045 3.085130 0.7280229
##
## Inertia & coinertia Q (acpQ.aravo):
## inertia max ratio
## 1 2.195457 5.095305 0.4308784
## 12 6.213361 7.950625 0.7814933
##
## Correlation L (afcL.aravo):
## corr max ratio
## 1 0.3575146 0.9327084 0.3833080
## 2 0.2197734 0.8335977 0.2636445
From tutorial: “Fourth-corner analysis can be used to test the associations between individual traits and environmental variables. To obtain a test with a correct type I error, results of model 2 (permutation of sites, i.e. rows) and 4 (permutation of species, i.e. columns) should be combined.”
nrepet <- 999
four.comb.aravo <- fourthcorner(p_env[,-10], p_species,
p_traits, modeltype = 6, p.adjust.method.G = "none",
p.adjust.method.D = "none", nrepet = nrepet)Plotting the data: “Blue cells correspond to negative significant relationships while red cells correspond to positive significant relationships (this can be modified using the argument col).”
I used the D2 option when plotting, but others exist: stat=“D2”: the association is measured between the quantitative variable and each category separately. A correlation coefficient is used to indicate the strength of the association between the given category and the small or large values of the quantitative variable. stat=“G”: the association between the quantitative variable and the whole categorical variable is measured by a global statistic (F). stat=“D”: the association is estimated between the quantitative variable and each category separately by a measure of the within-group homogeneity. The strength of the association is indicated by the dispersion of the values of the quantitative variable for a given category.
To replot the data for multiple comparisons: “Now, we adjust p-values for multiple comparisons (here we used the fdr method using the p.adjust.4thcorner function).”
“First, a multivariate test can be applied to evaluate the global significance of the traits-environment relationships. This test is based on the total inertia of the RLQ analysis”
## class: krandtest lightkrandtest
## Monte-Carlo tests
## Call: randtest.rlq(xtest = rlq.aravo, nrepet = nrepet, modeltype = 6)
##
## Number of tests: 2
##
## Adjustment method for multiple comparisons: none
## Permutation number: 999
## Test Obs Std.Obs Alter Pvalue
## 1 Model 2 0.6569709 -0.1929621 greater 0.528
## 2 Model 4 0.6569709 -0.9437870 greater 0.829
The total inertia of RLQ analysis is equal to the SRLQ multivariate statistic defined in Dray and Legendre (2008). This statistic is returned by the fourthcorner2 function:
Srlq <- fourthcorner2(p_env[,-10], p_species, p_traits,
modeltype = 6, p.adjust.method.G = "fdr", nrepet = nrepet)
Srlq$trRLQ## Monte-Carlo test
## Call: fourthcorner2(tabR = p_env[, -10], tabL = p_species, tabQ = p_traits,
## modeltype = 6, nrepet = nrepet, p.adjust.method.G = "fdr")
##
## Observation: -8990.343
##
## Based on 999 replicates
## Simulated p-value: 0.82
## Alternative hypothesis: greater
##
## Std.Obs Expectation Variance
## -9.542658e-01 -8.990088e+03 7.153581e-02
“Both approaches can be combined if RLQ scores are used to represent traits and environmental variables on a biplot. Then, significant associations revealed by the fourthcorner approach can be represented using segments (blue lines for negative associations, red lines for positive associations, see the argument col). Only traits and environmental variables that have at least one significant association are represented. Here, we apply this method using adjusted pvalues for multiple comparisons and a significant level α = 0.05.”
“Another approach is provided by the fourthcorner.rlq function and consists in testing directly the links between RLQ axes and traits (typetest=”Q.axes“) or environmental variables (typetest=”R.axes“).”
RLQ axes and traits
## Fourth-corner Statistics
## ------------------------
## Permutation method Comb. 2 and 4 ( 999 permutations)
##
## Adjustment method for multiple comparisons: fdr
## call: fourthcorner.rlq(xtest = rlq.aravo, nrepet = nrepet, modeltype = 6, typetest = "Q.axes", p.adjust.method.G = "fdr", p.adjust.method.D = "fdr")
##
## ---
##
## Test Stat Obs Std.Obs Alter Pvalue
## 1 AxcR1 / Climb.0 Homog. 0.96134310 2.2103289 less 0.998
## 2 AxcR2 / Climb.0 Homog. 0.89121986 -0.6953100 less 0.221
## 3 AxcR1 / Climb.1 Homog. 0.03686797 -0.1605159 less 0.65
## 4 AxcR2 / Climb.1 Homog. 0.10785496 1.7411193 less 0.949
## 5 AxcR1 / Acaul.0 Homog. 1.00000000 <NA> less 1
## 6 AxcR2 / Acaul.0 Homog. 1.00000000 <NA> less 1
## 7 AxcR1 / Erect.0 Homog. 0.03686797 -0.1605159 less 0.65
## 8 AxcR2 / Erect.0 Homog. 0.10785496 1.7411193 less 0.949
## 9 AxcR1 / Erect.1 Homog. 0.96134310 2.2103289 less 0.998
## 10 AxcR2 / Erect.1 Homog. 0.89121986 -0.6953100 less 0.221
## 11 AxcR1 / StemS.0 Homog. 0.03698011 -0.7434502 less 0.27
## 12 AxcR2 / StemS.0 Homog. 0.10811460 1.6622165 less 0.945
## 13 AxcR1 / StemS.1 Homog. 0.48052421 -0.5176983 less 0.293
## 14 AxcR2 / StemS.1 Homog. 0.59926258 0.2304887 less 0.576
## 15 AxcR1 / StemS.2 Homog. 0.41908006 3.4624882 less 0.991
## 16 AxcR2 / StemS.2 Homog. 0.27599200 0.7731406 less 0.838
## 17 AxcR1 / StemA.0 Homog. 0.76595294 1.6606332 less 0.945
## 18 AxcR2 / StemA.0 Homog. 0.63295693 -1.4754250 less 0.09
## 19 AxcR1 / StemA.1 Homog. 0.20361638 0.2815542 less 0.603
## 20 AxcR2 / StemA.1 Homog. 0.32299828 0.8519156 less 0.81
## 21 AxcR1 / Leave.0 Homog. 0.72348658 2.2675623 less 0.978
## 22 AxcR2 / Leave.0 Homog. 0.52504761 -1.6934789 less 0.06
## 23 AxcR1 / Leave.1 Homog. 0.24149577 0.0889176 less 0.552
## 24 AxcR2 / Leave.1 Homog. 0.44244854 1.6315717 less 0.972
## 25 AxcR1 / MaxStemHeight_m r 0.09149172 0.6547078 two-sided 0.567
## 26 AxcR2 / MaxStemHeight_m r -0.14448147 -1.2338561 two-sided 0.248
## 27 AxcR1 / MaxStemDia_cm r 0.08749172 0.6256984 two-sided 0.565
## 28 AxcR2 / MaxStemDia_cm r -0.12934431 -1.1049786 two-sided 0.29
## 29 AxcR1 / Under.canopy Homog. 0.97761339 1.7818129 less 0.964
## 30 AxcR2 / Under.canopy Homog. 0.96901013 0.5285494 less 0.683
## 31 AxcR1 / Under.understorey Homog. 0.02065195 -0.4477273 less 0.505
## 32 AxcR2 / Under.understorey Homog. 0.03098774 -0.2850270 less 0.567
## 33 AxcR1 / AverageFruitLength_cm r 0.24503760 1.8932043 two-sided 0.048
## 34 AxcR2 / AverageFruitLength_cm r -0.12292261 -1.0279980 two-sided 0.32
## 35 AxcR1 / Fruit.large Homog. 0.42030052 2.1573239 less 0.984
## 36 AxcR2 / Fruit.large Homog. 0.51860246 2.8699578 less 0.998
## 37 AxcR1 / Fruit.small Homog. 0.55423824 2.7002707 less 0.983
## 38 AxcR2 / Fruit.small Homog. 0.46746559 1.1976751 less 0.901
## 39 AxcR1 / Consp.conspicuous Homog. 0.28302363 -1.3088386 less 0.099
## 40 AxcR2 / Consp.conspicuous Homog. 0.49950186 1.7320683 less 0.98
## 41 AxcR1 / Consp.cryptic Homog. 0.67206694 2.0140602 less 0.96
## 42 AxcR2 / Consp.cryptic Homog. 0.46811068 -0.2212871 less 0.426
## Pvalue.adj
## 1 1
## 2 0.853125
## 3 0.853125
## 4 1
## 5 1
## 6 1
## 7 0.853125
## 8 1
## 9 1
## 10 0.853125
## 11 0.853125
## 12 1
## 13 0.853125
## 14 0.853125
## 15 1
## 16 1
## 17 1
## 18 0.693
## 19 0.853125
## 20 1
## 21 1
## 22 0.63
## 23 0.853125
## 24 1
## 25 0.853125
## 26 0.853125
## 27 0.853125
## 28 0.853125
## 29 1
## 30 1
## 31 0.853125
## 32 0.853125
## 33 0.63
## 34 0.853125
## 35 1
## 36 1
## 37 1
## 38 1
## 39 0.693
## 40 1
## 41 1
## 42 0.853125
##
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
RLQ axes and environmental variables
## Fourth-corner Statistics
## ------------------------
## Permutation method Comb. 2 and 4 ( 999 permutations)
##
## Adjustment method for multiple comparisons: fdr
## call: fourthcorner.rlq(xtest = rlq.aravo, nrepet = nrepet, modeltype = 6, typetest = "R.axes", p.adjust.method.G = "fdr", p.adjust.method.D = "fdr")
##
## ---
##
## Test Stat Obs Std.Obs Alter Pvalue
## 1 Canopy.Cover / AxcQ1 r -0.012420893 -0.1170467 two-sided 0.854
## 2 Understory.Density / AxcQ1 r -0.029892325 -0.2732097 two-sided 0.803
## 3 Leaf.Litter / AxcQ1 r 0.083803687 0.8330942 two-sided 0.431
## 4 Soil.Moisture / AxcQ1 r 0.122365689 1.1007355 two-sided 0.282
## 5 Cec / AxcQ1 r 0.046971395 1.0646016 two-sided 0.304
## 6 T50 / AxcQ1 r 0.009956983 0.1416304 two-sided 0.884
## 7 T10 / AxcQ1 r 0.304644385 1.8516607 two-sided 0.069
## 8 Canopy.Height / AxcQ1 r -0.124070105 -1.0749818 two-sided 0.329
## 9 Elevation / AxcQ1 r 0.056259879 0.4380738 two-sided 0.718
## 10 Canopy.Cover / AxcQ2 r 0.014571724 0.1582932 two-sided 0.805
## 11 Understory.Density / AxcQ2 r -0.114617370 -1.1843000 two-sided 0.256
## 12 Leaf.Litter / AxcQ2 r 0.049781194 0.4615502 two-sided 0.67
## 13 Soil.Moisture / AxcQ2 r -0.068450849 -0.8102560 two-sided 0.444
## 14 Cec / AxcQ2 r 0.027732905 0.6800501 two-sided 0.545
## 15 T50 / AxcQ2 r 0.098808237 1.2481681 two-sided 0.212
## 16 T10 / AxcQ2 r -0.062682617 -0.3416222 two-sided 0.728
## 17 Canopy.Height / AxcQ2 r -0.090071839 -0.8390969 two-sided 0.488
## 18 Elevation / AxcQ2 r 0.117191890 0.9545978 two-sided 0.358
## Pvalue.adj
## 1 0.856
## 2 0.856
## 3 0.846
## 4 0.794571428571429
## 5 0.846
## 6 0.884
## 7 0.621
## 8 0.846
## 9 0.846
## 10 0.856
## 11 0.794571428571429
## 12 0.846
## 13 0.846
## 14 0.846
## 15 0.794571428571429
## 16 0.846
## 17 0.846
## 18 0.846
##
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Results can be represented using a table with colors indicating significance :
Significance with axes can also be reported on the factorial map of RLQ analysis. Here, significant associations with the first axis are represented in blue, with the second axis in orange, with both axes in green (variables with no significant association are in black)
That’s unreadable, plotting as separate.
## [1] "RLQ for juveniles"
## [1] "RLQ for adults"
Summary of RLQ analysis. How to interpret this?
## RLQ analysis
##
## Class: rlq dudi
## Call: rlq(dudiR = Rjuv, dudiL = Ljuv, dudiQ = Qjuv, scannf = FALSE)
##
## Total inertia: 1.429
##
## Eigenvalues:
## Ax1 Ax2 Ax3 Ax4 Ax5
## 0.746537 0.500895 0.121014 0.054025 0.003262
##
## Projected inertia (%):
## Ax1 Ax2 Ax3 Ax4 Ax5
## 52.2481 35.0563 8.4695 3.7811 0.2283
##
## Cumulative projected inertia (%):
## Ax1 Ax1:2 Ax1:3 Ax1:4 Ax1:5
## 52.25 87.30 95.77 99.55 99.78
##
## (Only 5 dimensions (out of 9) are shown)
##
##
## Eigenvalues decomposition:
## eig covar sdR sdQ corr
## 1 0.7465371 0.8640238 1.170836 1.785317 0.4133466
## 2 0.5008948 0.7077392 1.244773 1.691688 0.3360957
##
## Inertia & coinertia R (Rjuv):
## inertia max ratio
## 1 1.370856 1.858611 0.7375703
## 12 2.920316 3.464436 0.8429412
##
## Inertia & coinertia Q (Qjuv):
## inertia max ratio
## 1 3.187357 5.160919 0.6175949
## 12 6.049164 7.993775 0.7567344
##
## Correlation L (Ljuv):
## corr max ratio
## 1 0.4133466 0.9448971 0.4374514
## 2 0.3360957 0.9087471 0.3698452
## RLQ analysis
##
## Class: rlq dudi
## Call: rlq(dudiR = Radu, dudiL = Ladu, dudiQ = Qadu, scannf = FALSE)
##
## Total inertia: 1.04
##
## Eigenvalues:
## Ax1 Ax2 Ax3 Ax4 Ax5
## 0.564979 0.338546 0.115397 0.015354 0.003838
##
## Projected inertia (%):
## Ax1 Ax2 Ax3 Ax4 Ax5
## 54.314 32.546 11.094 1.476 0.369
##
## Cumulative projected inertia (%):
## Ax1 Ax1:2 Ax1:3 Ax1:4 Ax1:5
## 54.31 86.86 97.95 99.43 99.80
##
## (Only 5 dimensions (out of 10) are shown)
##
##
## Eigenvalues decomposition:
## eig covar sdR sdQ corr
## 1 0.5649794 0.7516511 1.317944 1.702729 0.3349451
## 2 0.3385457 0.5818468 1.128801 2.171484 0.2373747
##
## Inertia & coinertia R (Radu):
## inertia max ratio
## 1 1.736977 2.095715 0.8288231
## 12 3.011170 3.680365 0.8181714
##
## Inertia & coinertia Q (Qadu):
## inertia max ratio
## 1 2.899287 4.937157 0.5872382
## 12 7.614631 7.890549 0.9650318
##
## Correlation L (Ladu):
## corr max ratio
## 1 0.3349451 1.0000000 0.3349451
## 2 0.2373747 0.9128287 0.2600430
## [1] "FQ for juveniles"
## [1] "FQ for adults"
## [1] "FQ for Juveniles"
## [1] "FQ for Adults"
## class: krandtest lightkrandtest
## Monte-Carlo tests
## Call: randtest.rlq(xtest = rlq.juv, nrepet = nrepet, modeltype = 6)
##
## Number of tests: 2
##
## Adjustment method for multiple comparisons: none
## Permutation number: 999
## Test Obs Std.Obs Alter Pvalue
## 1 Model 2 1.42883 0.07905656 greater 0.391
## 2 Model 4 1.42883 -0.30713617 greater 0.578
## class: krandtest lightkrandtest
## Monte-Carlo tests
## Call: randtest.rlq(xtest = rlq.adu, nrepet = nrepet, modeltype = 6)
##
## Number of tests: 2
##
## Adjustment method for multiple comparisons: none
## Permutation number: 999
## Test Obs Std.Obs Alter Pvalue
## 1 Model 2 1.040218 15.0904600 greater 0.001
## 2 Model 4 1.040218 -0.1570179 greater 0.541
The total inertia of RLQ analysis is equal to the SRLQ multivariate statistic defined in Dray and Legendre (2008). This statistic is returned by the fourthcorner2 function:
## Monte-Carlo test
## Call: fourthcorner2(tabR = p_envFORCOVER, tabL = p_speciesJUV, tabQ = p_traits,
## modeltype = 6, nrepet = nrepet, p.adjust.method.G = "fdr")
##
## Observation: -8989.571
##
## Based on 874 replicates
## Simulated p-value: 0.5154286
## Alternative hypothesis: greater
##
## Std.Obs Expectation Variance
## 3.514615e-01 -1.054279e+04 1.953042e+07
## Monte-Carlo test
## Call: fourthcorner2(tabR = p_envFORCOVER, tabL = p_speciesADU, tabQ = p_traits,
## modeltype = 6, nrepet = nrepet, p.adjust.method.G = "fdr")
##
## Observation: -8989.96
##
## Based on 999 replicates
## Simulated p-value: 0.472
## Alternative hypothesis: greater
##
## Std.Obs Expectation Variance
## 3.688713e-01 -1.078993e+04 2.381112e+07
## [1] "juvenile"
## [1] "adult"
“Another approach is provided by the fourthcorner.rlq function and consists in testing directly the links between RLQ axes and traits (typetest=”Q.axes“) or environmental variables (typetest=”R.axes“).”
## Fourth-corner Statistics
## ------------------------
## Permutation method Comb. 2 and 4 ( 999 permutations)
##
## Adjustment method for multiple comparisons: fdr
## call: fourthcorner.rlq(xtest = rlq.juv, nrepet = nrepet, modeltype = 6, typetest = "Q.axes", p.adjust.method.G = "fdr", p.adjust.method.D = "fdr")
##
## ---
##
## Test Stat Obs Std.Obs Alter
## 1 AxcR1 / Climb.0 Homog. 0.935408906 0.96967725 less
## 2 AxcR2 / Climb.0 Homog. 0.896219686 -0.47457368 less
## 3 AxcR1 / Climb.1 Homog. 0.062673284 0.07499743 less
## 4 AxcR2 / Climb.1 Homog. 0.100874152 0.98504965 less
## 5 AxcR1 / Acaul.0 Homog. 1.000000000 <NA> less
## 6 AxcR2 / Acaul.0 Homog. 1.000000000 <NA> less
## 7 AxcR1 / Erect.0 Homog. 0.062673284 0.07499743 less
## 8 AxcR2 / Erect.0 Homog. 0.100874152 0.98504965 less
## 9 AxcR1 / Erect.1 Homog. 0.935408906 0.96967725 less
## 10 AxcR2 / Erect.1 Homog. 0.896219686 -0.47457368 less
## 11 AxcR1 / StemS.0 Homog. 0.062673284 -0.42034688 less
## 12 AxcR2 / StemS.0 Homog. 0.100874152 0.98504965 less
## 13 AxcR1 / StemS.1 Homog. 0.434638318 -0.67428954 less
## 14 AxcR2 / StemS.1 Homog. 0.515663169 -0.20689865 less
## 15 AxcR1 / StemS.2 Homog. 0.336057240 1.87092410 less
## 16 AxcR2 / StemS.2 Homog. 0.379436083 2.85853809 less
## 17 AxcR1 / StemA.0 Homog. 0.823478093 2.23470080 less
## 18 AxcR2 / StemA.0 Homog. 0.594579406 -1.52374027 less
## 19 AxcR1 / StemA.1 Homog. 0.174538043 0.04194978 less
## 20 AxcR2 / StemA.1 Homog. 0.280158884 0.51031538 less
## 21 AxcR1 / Leave.0 Homog. 0.758100818 2.28127966 less
## 22 AxcR2 / Leave.0 Homog. 0.493674666 -1.59282544 less
## 23 AxcR1 / Leave.1 Homog. 0.237514667 0.03760936 less
## 24 AxcR2 / Leave.1 Homog. 0.419778917 1.50095298 less
## 25 AxcR1 / MaxStemHeight_m r -0.210341823 -1.34807034 two-sided
## 26 AxcR2 / MaxStemHeight_m r -0.077264855 -0.63944465 two-sided
## 27 AxcR1 / MaxStemDia_cm r -0.214542329 -1.40938215 two-sided
## 28 AxcR2 / MaxStemDia_cm r -0.059720466 -0.55253602 two-sided
## 29 AxcR1 / Under.canopy Homog. 0.980841113 0.83021006 less
## 30 AxcR2 / Under.canopy Homog. 0.982255001 1.11827331 less
## 31 AxcR1 / Under.understorey Homog. 0.017971110 -0.52488901 less
## 32 AxcR2 / Under.understorey Homog. 0.017628019 -0.54134604 less
## 33 AxcR1 / AverageFruitLength_cm r -0.411890001 -2.71425800 two-sided
## 34 AxcR2 / AverageFruitLength_cm r -0.004254722 -0.08650445 two-sided
## 35 AxcR1 / Fruit.large Homog. 0.384995644 1.64139046 less
## 36 AxcR2 / Fruit.large Homog. 0.464108800 2.22705310 less
## 37 AxcR1 / Fruit.small Homog. 0.515842044 2.16817012 less
## 38 AxcR2 / Fruit.small Homog. 0.534845101 2.62076183 less
## 39 AxcR1 / Consp.conspicuous Homog. 0.273692963 -1.09924788 less
## 40 AxcR2 / Consp.conspicuous Homog. 0.460961375 1.44910031 less
## 41 AxcR1 / Consp.cryptic Homog. 0.718840507 2.14149206 less
## 42 AxcR2 / Consp.cryptic Homog. 0.448132549 -0.22215672 less
## Pvalue Pvalue.adj
## 1 0.842 1
## 2 0.236 0.921796165489405
## 3 0.731121281464531 0.959596681922197
## 4 0.844 1
## 5 1 1
## 6 1 1
## 7 0.731121281464531 0.959596681922197
## 8 0.844 1
## 9 0.842 1
## 10 0.236 0.921796165489405
## 11 0.476286579212916 0.921796165489405
## 12 0.844 1
## 13 0.271 0.921796165489405
## 14 0.418 0.921796165489405
## 15 0.935 1
## 16 0.981 1
## 17 0.984 1
## 18 0.074 0.6972
## 19 0.573 0.921796165489405
## 20 0.687 1
## 21 0.979 1
## 22 0.083 0.6972
## 23 0.522 0.921796165489405
## 24 0.952 1
## 25 0.191 0.921796165489405
## 26 0.537 1
## 27 0.163 0.921796165489405
## 28 0.595 1
## 29 0.793 1
## 30 0.874 1
## 31 0.485193621867882 0.921796165489405
## 32 0.556947608200456 0.921796165489405
## 33 0.001 0.042 *
## 34 0.932 1
## 35 0.946 1
## 36 0.98 1
## 37 0.96 1
## 38 0.974 1
## 39 0.152 0.921796165489405
## 40 0.946 1
## 41 0.974 1
## 42 0.406 0.921796165489405
##
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## Fourth-corner Statistics
## ------------------------
## Permutation method Comb. 2 and 4 ( 999 permutations)
##
## Adjustment method for multiple comparisons: fdr
## call: fourthcorner.rlq(xtest = rlq.adu, nrepet = nrepet, modeltype = 6, typetest = "Q.axes", p.adjust.method.G = "fdr", p.adjust.method.D = "fdr")
##
## ---
##
## Test Stat Obs Std.Obs Alter
## 1 AxcR1 / Climb.0 Homog. 0.836672753 -1.34291973 less
## 2 AxcR2 / Climb.0 Homog. 0.940072279 0.30257713 less
## 3 AxcR1 / Climb.1 Homog. 0.074800140 0.85576691 less
## 4 AxcR2 / Climb.1 Homog. 0.056918191 -0.01127257 less
## 5 AxcR1 / Acaul.0 Homog. 1.000000000 <NA> less
## 6 AxcR2 / Acaul.0 Homog. 1.000000000 <NA> less
## 7 AxcR1 / Erect.0 Homog. 0.074800140 0.85576691 less
## 8 AxcR2 / Erect.0 Homog. 0.056918191 -0.01127257 less
## 9 AxcR1 / Erect.1 Homog. 0.836672753 -1.34291973 less
## 10 AxcR2 / Erect.1 Homog. 0.940072279 0.30257713 less
## 11 AxcR1 / StemS.0 Homog. 0.100179857 2.25722950 less
## 12 AxcR2 / StemS.0 Homog. 0.061059378 -0.48260622 less
## 13 AxcR1 / StemS.1 Homog. 0.641005501 0.58673181 less
## 14 AxcR2 / StemS.1 Homog. 0.722324576 1.18718107 less
## 15 AxcR1 / StemS.2 Homog. 0.155320246 -0.99102824 less
## 16 AxcR2 / StemS.2 Homog. 0.193553765 -0.67398657 less
## 17 AxcR1 / StemA.0 Homog. 0.656649208 1.94540679 less
## 18 AxcR2 / StemA.0 Homog. 0.629379796 0.81822327 less
## 19 AxcR1 / StemA.1 Homog. 0.312689117 1.19583027 less
## 20 AxcR2 / StemA.1 Homog. 0.363941396 1.34565234 less
## 21 AxcR1 / Leave.0 Homog. 0.510919122 -1.72326233 less
## 22 AxcR2 / Leave.0 Homog. 0.566988117 0.85833295 less
## 23 AxcR1 / Leave.1 Homog. 0.488493502 1.08787340 less
## 24 AxcR2 / Leave.1 Homog. 0.421492370 1.19820604 less
## 25 AxcR1 / MaxStemHeight_m r 0.088990901 0.53514222 two-sided
## 26 AxcR2 / MaxStemHeight_m r 0.252057476 2.16124915 two-sided
## 27 AxcR1 / MaxStemDia_cm r -0.035464815 -0.27876151 two-sided
## 28 AxcR2 / MaxStemDia_cm r 0.258239812 2.26290200 two-sided
## 29 AxcR1 / Under.canopy Homog. 0.940406773 0.41173489 less
## 30 AxcR2 / Under.canopy Homog. 0.949032509 1.04186297 less
## 31 AxcR1 / Under.understorey Homog. 0.058403035 0.12717346 less
## 32 AxcR2 / Under.understorey Homog. 0.049026243 -0.12237860 less
## 33 AxcR1 / AverageFruitLength_cm r -0.004633307 -0.10888984 two-sided
## 34 AxcR2 / AverageFruitLength_cm r 0.158137536 1.45224157 two-sided
## 35 AxcR1 / Fruit.large Homog. 0.463222263 2.53403073 less
## 36 AxcR2 / Fruit.large Homog. 0.558166806 0.44171381 less
## 37 AxcR1 / Fruit.small Homog. 0.534548704 2.65524120 less
## 38 AxcR2 / Fruit.small Homog. 0.400441438 -1.64502900 less
## 39 AxcR1 / Consp.conspicuous Homog. 0.559426785 1.04471923 less
## 40 AxcR2 / Consp.conspicuous Homog. 0.506219974 0.09196562 less
## 41 AxcR1 / Consp.cryptic Homog. 0.439722847 -0.33257211 less
## 42 AxcR2 / Consp.cryptic Homog. 0.473926570 -0.10278281 less
## Pvalue Pvalue.adj
## 1 0.123 0.6
## 2 0.6 0.969230769230769
## 3 0.812 1
## 4 0.804560260586319 1
## 5 1 1
## 6 1 1
## 7 0.812 1
## 8 0.804560260586319 1
## 9 0.123 0.6
## 10 0.6 0.969230769230769
## 11 0.983 1
## 12 0.494 1
## 13 0.692 1
## 14 0.894 1
## 15 0.199 0.6
## 16 0.32 0.84
## 17 0.971 1
## 18 0.791 1
## 19 0.861 1
## 20 0.892 1
## 21 0.059 0.4956
## 22 0.815 1
## 23 0.869 1
## 24 0.886 1
## 25 0.615 1
## 26 0.006 0.126
## 27 0.781 1
## 28 0.004 0.126
## 29 0.633 0.984666666666667
## 30 0.868 1
## 31 0.673361522198731 1
## 32 0.673361522198731 1
## 33 0.91 1
## 34 0.17 0.6
## 35 0.983 1
## 36 0.671 1
## 37 0.996 1
## 38 0.05 0.175
## 39 0.86 1
## 40 0.564 1
## 41 0.391 0.912333333333333
## 42 0.464 1
##
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## Fourth-corner Statistics
## ------------------------
## Permutation method Comb. 2 and 4 ( 999 permutations)
##
## Adjustment method for multiple comparisons: fdr
## call: fourthcorner.rlq(xtest = rlq.juv, nrepet = nrepet, modeltype = 6, typetest = "R.axes", p.adjust.method.G = "fdr", p.adjust.method.D = "fdr")
##
## ---
##
## Test Stat Obs Std.Obs Alter Pvalue Pvalue.adj
## 1 Canopy.Cover / AxcQ1 r -0.023925899 -0.296160096 two-sided 0.684 0.864
## 2 Understory.Density / AxcQ1 r -0.046616337 -0.360083605 two-sided 0.755 0.876571428571429
## 3 Leaf.Litter / AxcQ1 r -0.004365802 -0.009436238 two-sided 0.993 0.993
## 4 Soil.Moisture / AxcQ1 r -0.220288874 -1.579975730 two-sided 0.116 0.397714285714286
## 5 Cec / AxcQ1 r -0.021245562 -0.136563693 two-sided 0.767 0.876571428571429
## 6 T50 / AxcQ1 r 0.050329640 0.710468941 two-sided 0.54 0.826909090909091
## 7 T10 / AxcQ1 r -0.314893261 -1.514591626 two-sided 0.122 0.5856
## 8 Canopy.Height / AxcQ1 r 0.080491140 0.604421044 two-sided 0.621 0.826909090909091
## 9 Elevation / AxcQ1 r 0.074152550 0.527986636 two-sided 0.649 0.826909090909091
## 10 Habit.Primary / AxcQ1 Homog. 0.339462103 -1.520290255 less 0.085 0.51
## 11 Habit.Secondary / AxcQ1 Homog. 0.586665219 1.286935573 less 0.88 0.918260869565217
## 12 Habit.Transition / AxcQ1 Homog. 0.005065871 -0.266076910 less 0.43 0.797538461538462
## 13 Canopy.Cover / AxcQ2 r -0.077862187 -1.174779421 two-sided 0.266 0.709333333333333
## 14 Understory.Density / AxcQ2 r -0.189627260 -1.750823268 two-sided 0.065 0.51
## 15 Leaf.Litter / AxcQ2 r 0.155590484 1.200385156 two-sided 0.254 0.709333333333333
## 16 Soil.Moisture / AxcQ2 r -0.067983135 -0.607045722 two-sided 0.573 0.826909090909091
## 17 Cec / AxcQ2 r 0.052327639 0.860974514 two-sided 0.432 0.797538461538462
## 18 T50 / AxcQ2 r 0.153959525 1.505677775 two-sided 0.166 0.445333333333333
## 19 T10 / AxcQ2 r 0.119721332 0.575475216 two-sided 0.581 0.826909090909091
## 20 Canopy.Height / AxcQ2 r -0.132627095 -0.971707959 two-sided 0.391 0.797538461538462
## 21 Elevation / AxcQ2 r 0.213975341 1.446778593 two-sided 0.166 0.664
## 22 Habit.Primary / AxcQ2 Homog. 0.548269612 1.139346034 less 0.874 0.916173913043478
## 23 Habit.Secondary / AxcQ2 Homog. 0.448034986 -0.547722673 less 0.306 0.7344
## 24 Habit.Transition / AxcQ2 Homog. 0.003669394 -0.757721858 less 0.195 0.668571428571429
##
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## Fourth-corner Statistics
## ------------------------
## Permutation method Comb. 2 and 4 ( 999 permutations)
##
## Adjustment method for multiple comparisons: fdr
## call: fourthcorner.rlq(xtest = rlq.adu, nrepet = nrepet, modeltype = 6, typetest = "R.axes", p.adjust.method.G = "fdr", p.adjust.method.D = "fdr")
##
## ---
##
## Test Stat Obs Std.Obs Alter Pvalue Pvalue.adj
## 1 Canopy.Cover / AxcQ1 r -0.020525343 -0.56703969 two-sided 0.56 0.885
## 2 Understory.Density / AxcQ1 r 0.176408140 1.94382686 two-sided 0.058 0.5
## 3 Leaf.Litter / AxcQ1 r -0.050385708 -0.54199488 two-sided 0.677 0.894315789473684
## 4 Soil.Moisture / AxcQ1 r -0.201383111 -1.93983621 two-sided 0.082 0.5
## 5 Cec / AxcQ1 r -0.032244658 -0.74286146 two-sided 0.509 0.885
## 6 T50 / AxcQ1 r 0.062841701 1.54542498 two-sided 0.113 0.5
## 7 T10 / AxcQ1 r 0.104356069 1.11107381 two-sided 0.303 0.808
## 8 Canopy.Height / AxcQ1 r -0.079818074 -0.55941920 two-sided 0.581 0.885
## 9 Elevation / AxcQ1 r 0.292632454 1.95681128 two-sided 0.055 0.5
## 10 Habit.Primary / AxcQ1 Homog. 0.616404905 3.71633735 less 1 1
## 11 Habit.Secondary / AxcQ1 Homog. 0.351213487 0.03703335 less 0.454 0.885
## 12 Habit.Transition / AxcQ1 Homog. 0.020031880 0.95465388 less 0.869 0.948
## 13 Canopy.Cover / AxcQ2 r -0.059842511 -1.50543304 two-sided 0.125 0.5
## 14 Understory.Density / AxcQ2 r -0.043046543 -0.57583295 two-sided 0.59 0.885
## 15 Leaf.Litter / AxcQ2 r 0.116980880 1.42665490 two-sided 0.17 0.582857142857143
## 16 Soil.Moisture / AxcQ2 r -0.059469654 -0.52055374 two-sided 0.628 0.886588235294118
## 17 Cec / AxcQ2 r 0.003349974 0.07228771 two-sided 0.95 1
## 18 T50 / AxcQ2 r -0.015681784 -0.44324348 two-sided 0.708 0.894315789473684
## 19 T10 / AxcQ2 r 0.114251067 1.03021098 two-sided 0.373 0.885
## 20 Canopy.Height / AxcQ2 r 0.185686323 1.56551957 two-sided 0.099 0.5
## 21 Elevation / AxcQ2 r 0.006309089 0.15217991 two-sided 0.873 0.997714285714286
## 22 Habit.Primary / AxcQ2 Homog. 0.671935150 7.28842915 less 1 1
## 23 Habit.Secondary / AxcQ2 Homog. 0.315497275 -0.70882251 less 0.231 0.693
## 24 Habit.Transition / AxcQ2 Homog. 0.011255924 0.93295625 less 0.831 0.948
##
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Results can be represented using a table with colors indicating significance :
## [1] "juveniles"
## [1] "adults"
Significance with axes can also be reported on the factorial map of RLQ analysis. Here, significant associations with the first axis are represented in blue, with the second axis in orange, with both axes in green (variables with no significant association are in black)
## [1] "juveniles"
## [1] "adults"
p_traits$Endemic<-as.factor(palm_list$Endemic)
# splom(p_envFORCOVER)
res1 <- corrplot::cor.mtest(p_envFORCOVER[,1:9], conf.level = 0.95)
corrplot::corrplot(cor(p_envFORCOVER[,1:9]),p.mat = res1$p,type = "upper")## Loading required package: xts
## Loading required package: zoo
##
## Attaching package: 'zoo'
## The following objects are masked from 'package:base':
##
## as.Date, as.Date.numeric
##
## Attaching package: 'xts'
## The following objects are masked from 'package:dplyr':
##
## first, last
##
## Attaching package: 'PerformanceAnalytics'
## The following object is masked from 'package:graphics':
##
## legend
That’s unreadable, plotting as separate.
## [1] "RLQ for juveniles"
## [1] "RLQ for adults"
Summary of RLQ analysis. How to interpret this?
## RLQ analysis
##
## Class: rlq dudi
## Call: rlq(dudiR = Rjuv, dudiL = Ljuv, dudiQ = Qjuv, scannf = FALSE)
##
## Total inertia: 0.5221
##
## Eigenvalues:
## Ax1 Ax2 Ax3 Ax4 Ax5
## 0.321208 0.121525 0.065548 0.010452 0.002561
##
## Projected inertia (%):
## Ax1 Ax2 Ax3 Ax4 Ax5
## 61.5185 23.2748 12.5539 2.0018 0.4904
##
## Cumulative projected inertia (%):
## Ax1 Ax1:2 Ax1:3 Ax1:4 Ax1:5
## 61.52 84.79 97.35 99.35 99.84
##
## (Only 5 dimensions (out of 7) are shown)
##
##
## Eigenvalues decomposition:
## eig covar sdR sdQ corr
## 1 0.3212085 0.5667526 1.0618451 1.466338 0.3639973
## 2 0.1215254 0.3486050 0.9898542 1.717393 0.2050655
##
## Inertia & coinertia R (Rjuv):
## inertia max ratio
## 1 1.127515 1.654677 0.6814108
## 12 2.107326 2.887627 0.7297779
##
## Inertia & coinertia Q (Qjuv):
## inertia max ratio
## 1 2.150148 3.725634 0.5771226
## 12 5.099586 6.938275 0.7349933
##
## Correlation L (Ljuv):
## corr max ratio
## 1 0.3639973 0.8815343 0.4129134
## 2 0.2050655 0.8457013 0.2424799
## RLQ analysis
##
## Class: rlq dudi
## Call: rlq(dudiR = Radu, dudiL = Ladu, dudiQ = Qadu, scannf = FALSE)
##
## Total inertia: 0.4482
##
## Eigenvalues:
## Ax1 Ax2 Ax3 Ax4 Ax5
## 0.2817479 0.0970319 0.0625616 0.0057604 0.0006139
##
## Projected inertia (%):
## Ax1 Ax2 Ax3 Ax4 Ax5
## 62.8562 21.6472 13.9571 1.2851 0.1369
##
## Cumulative projected inertia (%):
## Ax1 Ax1:2 Ax1:3 Ax1:4 Ax1:5
## 62.86 84.50 98.46 99.75 99.88
##
## (Only 5 dimensions (out of 7) are shown)
##
##
## Eigenvalues decomposition:
## eig covar sdR sdQ corr
## 1 0.28174787 0.5307993 1.078063 1.865211 0.2639723
## 2 0.09703185 0.3114994 1.075962 1.571653 0.1842060
##
## Inertia & coinertia R (Radu):
## inertia max ratio
## 1 1.162219 1.419612 0.8186877
## 12 2.319913 2.693617 0.8612631
##
## Inertia & coinertia Q (Qadu):
## inertia max ratio
## 1 3.479011 4.070173 0.8547575
## 12 5.949104 7.437301 0.7999009
##
## Correlation L (Ladu):
## corr max ratio
## 1 0.2639723 1.0000000 0.2639723
## 2 0.1842060 0.9421674 0.1955130
## [1] "FQ for juveniles"
## [1] "FQ for adults"
## [1] "FQ for Juveniles"
## [1] "FQ for Adults"
## class: krandtest lightkrandtest
## Monte-Carlo tests
## Call: randtest.rlq(xtest = rlq.juv, nrepet = nrepet, modeltype = 6)
##
## Number of tests: 2
##
## Adjustment method for multiple comparisons: none
## Permutation number: 999
## Test Obs Std.Obs Alter Pvalue
## 1 Model 2 0.5221335 11.8243587 greater 0.001
## 2 Model 4 0.5221335 0.1873256 greater 0.400
## class: krandtest lightkrandtest
## Monte-Carlo tests
## Call: randtest.rlq(xtest = rlq.adu, nrepet = nrepet, modeltype = 6)
##
## Number of tests: 2
##
## Adjustment method for multiple comparisons: none
## Permutation number: 999
## Test Obs Std.Obs Alter Pvalue
## 1 Model 2 0.4482421 19.841859 greater 0.001
## 2 Model 4 0.4482421 1.951894 greater 0.041
The total inertia of RLQ analysis is equal to the SRLQ multivariate statistic defined in Dray and Legendre (2008). This statistic is returned by the fourthcorner2 function:
## Monte-Carlo test
## Call: fourthcorner2(tabR = p_envCombined, tabL = JuvCombined, tabQ = p_traits2,
## modeltype = 6, nrepet = nrepet, p.adjust.method.G = "fdr")
##
## Observation: -4994.568
##
## Based on 952 replicates
## Simulated p-value: 0.1049318
## Alternative hypothesis: greater
##
## Std.Obs Expectation Variance
## 1.361802e+00 -4.994701e+03 9.623195e-03
## Monte-Carlo test
## Call: fourthcorner2(tabR = p_envCombined, tabL = AduCombined, tabQ = p_traits2,
## modeltype = 6, nrepet = nrepet, p.adjust.method.G = "fdr")
##
## Observation: -4994.563
##
## Based on 999 replicates
## Simulated p-value: 0.254
## Alternative hypothesis: greater
##
## Std.Obs Expectation Variance
## 4.654074e-01 -6.774622e+03 1.462858e+07
## [1] "juvenile"
## [1] "adult"
“Another approach is provided by the fourthcorner.rlq function and consists in testing directly the links between RLQ axes and traits (typetest=”Q.axes“) or environmental variables (typetest=”R.axes“).”
# testQaxes.comb.seed <- fourthcorner.rlq(rlq.seed, modeltype = 6,
# typetest = "Q.axes", nrepet = nrepet, p.adjust.method.G = "fdr",
# p.adjust.method.D = "fdr")
# testRaxes.comb.seed <- fourthcorner.rlq(rlq.seed, modeltype = 6,
# typetest = "R.axes", nrepet = nrepet, p.adjust.method.G = "fdr",
# p.adjust.method.D = "fdr")
# print(testQaxes.comb.seed, stat = "D")
testQaxes.comb.juv <- fourthcorner.rlq(rlq.juv, modeltype = 6,
typetest = "Q.axes", nrepet = nrepet, p.adjust.method.G = "fdr",
p.adjust.method.D = "fdr")
testRaxes.comb.juv <- fourthcorner.rlq(rlq.juv, modeltype = 6,
typetest = "R.axes", nrepet = nrepet, p.adjust.method.G = "fdr",
p.adjust.method.D = "fdr")
print(testQaxes.comb.juv, stat = "D")## Fourth-corner Statistics
## ------------------------
## Permutation method Comb. 2 and 4 ( 999 permutations)
##
## Adjustment method for multiple comparisons: fdr
## call: fourthcorner.rlq(xtest = rlq.juv, nrepet = nrepet, modeltype = 6, typetest = "Q.axes", p.adjust.method.G = "fdr", p.adjust.method.D = "fdr")
##
## ---
##
## Test Stat Obs Std.Obs Alter
## 1 AxcR1 / Climb.0 Homog. 0.95046746 0.07138620 less
## 2 AxcR2 / Climb.0 Homog. 0.95422680 0.13674680 less
## 3 AxcR1 / Climb.1 Homog. 0.03394098 -0.12323258 less
## 4 AxcR2 / Climb.1 Homog. 0.03972005 -0.13779094 less
## 5 AxcR1 / Erect.0 Homog. 0.03394098 -0.12323258 less
## 6 AxcR2 / Erect.0 Homog. 0.03972005 -0.13779094 less
## 7 AxcR1 / Erect.1 Homog. 0.95046746 0.07138620 less
## 8 AxcR2 / Erect.1 Homog. 0.95422680 0.13674680 less
## 9 AxcR1 / StemS.0 Homog. 0.04204604 -0.61867619 less
## 10 AxcR2 / StemS.0 Homog. 0.04802839 -0.70164089 less
## 11 AxcR1 / StemS.1 Homog. 0.60452933 0.15846771 less
## 12 AxcR2 / StemS.1 Homog. 0.70487291 1.98693740 less
## 13 AxcR1 / StemS.2 Homog. 0.32652403 1.98738704 less
## 14 AxcR2 / StemS.2 Homog. 0.23553452 -0.55756608 less
## 15 AxcR1 / StemA.0 Homog. 0.40813595 0.03169471 less
## 16 AxcR2 / StemA.0 Homog. 0.37584738 -1.33753290 less
## 17 AxcR1 / StemA.1 Homog. 0.58107785 3.19615152 less
## 18 AxcR2 / StemA.1 Homog. 0.62291314 1.33254431 less
## 19 AxcR1 / Leave.0 Homog. 0.35013685 -1.05851252 less
## 20 AxcR2 / Leave.0 Homog. 0.33103757 -1.51366322 less
## 21 AxcR1 / Leave.1 Homog. 0.62537932 2.81288502 less
## 22 AxcR2 / Leave.1 Homog. 0.66894373 1.55669618 less
## 23 AxcR1 / MaxStemHeight_m r -0.06094508 -0.36262386 two-sided
## 24 AxcR2 / MaxStemHeight_m r 0.06916793 0.60390270 two-sided
## 25 AxcR1 / MaxStemDia_cm r -0.08587771 -0.55195799 two-sided
## 26 AxcR2 / MaxStemDia_cm r 0.10542006 0.92403478 two-sided
## 27 AxcR1 / Under.canopy Homog. 0.81936955 -0.26029817 less
## 28 AxcR2 / Under.canopy Homog. 0.80912636 -0.47885210 less
## 29 AxcR1 / Under.understorey Homog. 0.13404906 0.02796752 less
## 30 AxcR2 / Under.understorey Homog. 0.18885851 1.21593497 less
## 31 AxcR1 / AverageFruitLength_cm r 0.02707779 0.14806177 two-sided
## 32 AxcR2 / AverageFruitLength_cm r 0.18274444 1.55851599 two-sided
## 33 AxcR1 / Fruit.large Homog. 0.17308810 -0.06267657 less
## 34 AxcR2 / Fruit.large Homog. 0.27200843 1.74912228 less
## 35 AxcR1 / Fruit.small Homog. 0.80735285 2.90681136 less
## 36 AxcR2 / Fruit.small Homog. 0.68227570 -1.26106899 less
## 37 AxcR1 / Consp.conspicuous Homog. 0.66401503 1.38215281 less
## 38 AxcR2 / Consp.conspicuous Homog. 0.69610099 1.80919260 less
## 39 AxcR1 / Consp.cryptic Homog. 0.31336905 0.38017141 less
## 40 AxcR2 / Consp.cryptic Homog. 0.30244852 -0.18452557 less
## 41 AxcR1 / Endem.N Homog. 0.70855699 -0.28893177 less
## 42 AxcR2 / Endem.N Homog. 0.72879586 -0.16113629 less
## 43 AxcR1 / Endem.Y Homog. 0.20049385 -0.27685450 less
## 44 AxcR2 / Endem.Y Homog. 0.27057797 0.29273666 less
## Pvalue Pvalue.adj
## 1 0.373 0.909333333333333
## 2 0.523 0.909333333333333
## 3 0.666317991631799 0.909333333333333
## 4 0.556485355648536 0.909333333333333
## 5 0.666317991631799 0.909333333333333
## 6 0.556485355648536 0.909333333333333
## 7 0.373 0.909333333333333
## 8 0.523 0.909333333333333
## 9 0.345 0.909333333333333
## 10 0.294 0.909333333333333
## 11 0.542 0.909333333333333
## 12 0.993 1
## 13 0.97 1
## 14 0.318 0.909333333333333
## 15 0.509 0.670352941176471
## 16 0.083 0.199157894736842
## 17 1 1
## 18 0.916 1
## 19 0.149 0.28504347826087
## 20 0.055 0.15125
## 21 0.997 1
## 22 0.948 1
## 23 0.763 0.9592
## 24 0.625 0.909333333333333
## 25 0.614 0.909333333333333
## 26 0.413 0.909333333333333
## 27 0.311 0.909333333333333
## 28 0.296 0.909333333333333
## 29 0.62 0.909333333333333
## 30 0.901 1
## 31 0.902 1
## 32 0.127 0.6985
## 33 0.546 0.909333333333333
## 34 0.945 1
## 35 1 1
## 36 0.118 0.6985
## 37 0.905 1
## 38 0.962 1
## 39 0.656 0.780108108108108
## 40 0.421 0.638758620689655
## 41 0.367 0.909333333333333
## 42 0.427 0.909333333333333
## 43 0.454 0.909333333333333
## 44 0.626 0.909333333333333
##
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
testQaxes.comb.adu <- fourthcorner.rlq(rlq.adu, modeltype = 6,
typetest = "Q.axes", nrepet = nrepet, p.adjust.method.G = "fdr",
p.adjust.method.D = "fdr")
testRaxes.comb.adu <- fourthcorner.rlq(rlq.adu, modeltype = 6,
typetest = "R.axes", nrepet = nrepet, p.adjust.method.G = "fdr",
p.adjust.method.D = "fdr")
print(testQaxes.comb.adu, stat = "D")## Fourth-corner Statistics
## ------------------------
## Permutation method Comb. 2 and 4 ( 999 permutations)
##
## Adjustment method for multiple comparisons: fdr
## call: fourthcorner.rlq(xtest = rlq.adu, nrepet = nrepet, modeltype = 6, typetest = "Q.axes", p.adjust.method.G = "fdr", p.adjust.method.D = "fdr")
##
## ---
##
## Test Stat Obs Std.Obs Alter
## 1 AxcR1 / Climb.0 Homog. 0.946214475 -0.09008738 less
## 2 AxcR2 / Climb.0 Homog. 0.953524446 0.02525644 less
## 3 AxcR1 / Climb.1 Homog. 0.041543089 -0.12058008 less
## 4 AxcR2 / Climb.1 Homog. 0.040151018 -0.14784242 less
## 5 AxcR1 / Erect.0 Homog. 0.041543089 -0.12058008 less
## 6 AxcR2 / Erect.0 Homog. 0.040151018 -0.14784242 less
## 7 AxcR1 / Erect.1 Homog. 0.946214475 -0.09008738 less
## 8 AxcR2 / Erect.1 Homog. 0.953524446 0.02525644 less
## 9 AxcR1 / StemS.0 Homog. 0.063725169 -0.30647126 less
## 10 AxcR2 / StemS.0 Homog. 0.067401454 -0.27587513 less
## 11 AxcR1 / StemS.1 Homog. 0.459974652 -0.82185923 less
## 12 AxcR2 / StemS.1 Homog. 0.476457931 -0.73540300 less
## 13 AxcR1 / StemS.2 Homog. 0.449907516 0.99631797 less
## 14 AxcR2 / StemS.2 Homog. 0.450054434 1.01653310 less
## 15 AxcR1 / StemA.0 Homog. 0.255138403 0.15718359 less
## 16 AxcR2 / StemA.0 Homog. 0.262966389 0.61909324 less
## 17 AxcR1 / StemA.1 Homog. 0.744322033 3.56909044 less
## 18 AxcR2 / StemA.1 Homog. 0.726745676 3.51547492 less
## 19 AxcR1 / Leave.0 Homog. 0.196787106 -0.47792754 less
## 20 AxcR2 / Leave.0 Homog. 0.206272039 0.11441682 less
## 21 AxcR1 / Leave.1 Homog. 0.796221320 3.43844058 less
## 22 AxcR2 / Leave.1 Homog. 0.770822892 3.33136017 less
## 23 AxcR1 / MaxStemHeight_m r -0.146229093 -1.63423957 two-sided
## 24 AxcR2 / MaxStemHeight_m r 0.007058482 0.10373649 two-sided
## 25 AxcR1 / MaxStemDia_cm r -0.228107646 -2.49875665 two-sided
## 26 AxcR2 / MaxStemDia_cm r -0.019789182 -0.17691074 two-sided
## 27 AxcR1 / Under.canopy Homog. 0.841020103 -0.09278881 less
## 28 AxcR2 / Under.canopy Homog. 0.851560553 0.99844901 less
## 29 AxcR1 / Under.understorey Homog. 0.151502408 0.09984783 less
## 30 AxcR2 / Under.understorey Homog. 0.146719339 0.05490949 less
## 31 AxcR1 / AverageFruitLength_cm r -0.222303910 -2.45141114 two-sided
## 32 AxcR2 / AverageFruitLength_cm r 0.081615716 0.95544551 two-sided
## 33 AxcR1 / Fruit.large Homog. 0.194056441 -0.01987565 less
## 34 AxcR2 / Fruit.large Homog. 0.221778802 0.19708145 less
## 35 AxcR1 / Fruit.small Homog. 0.762533488 -0.24808065 less
## 36 AxcR2 / Fruit.small Homog. 0.772020852 -0.18302995 less
## 37 AxcR1 / Consp.conspicuous Homog. 0.756865120 1.61624642 less
## 38 AxcR2 / Consp.conspicuous Homog. 0.745364194 1.57803172 less
## 39 AxcR1 / Consp.cryptic Homog. 0.241199922 -0.35455008 less
## 40 AxcR2 / Consp.cryptic Homog. 0.238053448 -0.52247472 less
## 41 AxcR1 / Endem.N Homog. 0.838929670 0.65085637 less
## 42 AxcR2 / Endem.N Homog. 0.845511070 0.71155884 less
## 43 AxcR1 / Endem.Y Homog. 0.152714237 -0.64784022 less
## 44 AxcR2 / Endem.Y Homog. 0.154207766 -0.65168623 less
## Pvalue Pvalue.adj
## 1 0.353 0.814
## 2 0.407 0.814
## 3 0.642431466030989 0.908875
## 4 0.578069129916567 0.908875
## 5 0.642431466030989 0.908875
## 6 0.578069129916567 0.908875
## 7 0.353 0.814
## 8 0.407 0.814
## 9 0.502024291497976 0.908875
## 10 0.520242914979757 0.908875
## 11 0.266 0.814
## 12 0.282 0.814
## 13 0.788 0.979
## 14 0.801 0.979
## 15 0.588 0.712324324324324
## 16 0.752 0.807024390243902
## 17 1 1
## 18 1 1
## 19 0.323 0.592166666666667
## 20 0.566 0.711542857142857
## 21 1 1
## 22 1 1
## 23 0.105 0.513333333333333
## 24 0.915 1
## 25 0.008 0.0586666666666667 .
## 26 0.875 1
## 27 0.344 0.814
## 28 0.851 0.851
## 29 0.659 0.908875
## 30 0.645 0.908875
## 31 0.004 0.0352 *
## 32 0.393 0.814
## 33 0.589 0.908875
## 34 0.661 0.908875
## 35 0.308 0.814
## 36 0.335 0.814
## 37 0.965 1
## 38 0.961 1
## 39 0.373 0.611285714285714
## 40 0.313 0.592166666666667
## 41 0.696 0.928
## 42 0.724 0.936941176470588
## 43 0.317 0.814
## 44 0.313 0.814
##
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## Fourth-corner Statistics
## ------------------------
## Permutation method Comb. 2 and 4 ( 999 permutations)
##
## Adjustment method for multiple comparisons: fdr
## call: fourthcorner.rlq(xtest = rlq.juv, nrepet = nrepet, modeltype = 6, typetest = "R.axes", p.adjust.method.G = "fdr", p.adjust.method.D = "fdr")
##
## ---
##
## Test Stat Obs Std.Obs Alter Pvalue Pvalue.adj
## 1 Under.dense / AxcQ1 Homog. 0.216930739 0.09521265 less 0.664 0.885333333333333
## 2 Under.low / AxcQ1 Homog. 0.217117060 -1.03408498 less 0.136 0.362666666666667
## 3 Under.medium / AxcQ1 Homog. 0.552341694 1.53369752 less 0.956 0.956
## 4 Cec / AxcQ1 r 0.040110133 1.33834260 two-sided 0.119 0.317333333333333
## 5 T50 / AxcQ1 r -0.038099694 -0.86668712 two-sided 0.396 0.6336
## 6 T10 / AxcQ1 r -0.007838861 -0.12105363 two-sided 0.908 0.959
## 7 Canopy.Height / AxcQ1 r -0.034182237 -0.46220047 two-sided 0.689 0.856615384615385
## 8 Elevation / AxcQ1 r 0.362613060 2.18173827 two-sided 0.014 0.12
## 9 Under.dense / AxcQ2 Homog. 0.259287401 1.72175845 less 0.939 0.959
## 10 Under.low / AxcQ2 Homog. 0.232825896 -0.52444764 less 0.307 0.545777777777778
## 11 Under.medium / AxcQ2 Homog. 0.497756787 -0.34160165 less 0.443 0.644363636363636
## 12 Cec / AxcQ2 r -0.023071200 -0.71727641 two-sided 0.339 0.5792
## 13 T50 / AxcQ2 r -0.053522479 -1.32139600 two-sided 0.207 0.473142857142857
## 14 T10 / AxcQ2 r 0.095535059 2.08006086 two-sided 0.024 0.128
## 15 Canopy.Height / AxcQ2 r 0.136067684 1.96260301 two-sided 0.048 0.192
## 16 Elevation / AxcQ2 r 0.005890217 0.05918776 two-sided 0.959 0.959
##
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## Fourth-corner Statistics
## ------------------------
## Permutation method Comb. 2 and 4 ( 999 permutations)
##
## Adjustment method for multiple comparisons: fdr
## call: fourthcorner.rlq(xtest = rlq.adu, nrepet = nrepet, modeltype = 6, typetest = "R.axes", p.adjust.method.G = "fdr", p.adjust.method.D = "fdr")
##
## ---
##
## Test Stat Obs Std.Obs Alter Pvalue Pvalue.adj
## 1 Under.dense / AxcQ1 Homog. 0.21076566 -0.27069161 less 0.384 0.558545454545455
## 2 Under.low / AxcQ1 Homog. 0.26999928 0.91276484 less 0.825 0.825
## 3 Under.medium / AxcQ1 Homog. 0.51265725 0.12749015 less 0.545 0.644266666666667
## 4 Cec / AxcQ1 r 0.03891706 1.90715718 two-sided 0.044 0.276
## 5 T50 / AxcQ1 r -0.02301942 -0.52285658 two-sided 0.664 0.708266666666667
## 6 T10 / AxcQ1 r -0.14417779 -1.59092295 two-sided 0.093 0.2976
## 7 Canopy.Height / AxcQ1 r -0.14846179 -2.03680536 two-sided 0.003 0.048 *
## 8 Elevation / AxcQ1 r 0.17185656 1.85875582 two-sided 0.064 0.276
## 9 Under.dense / AxcQ2 Homog. 0.22904278 0.17538999 less 0.608 0.694857142857143
## 10 Under.low / AxcQ2 Homog. 0.24807874 -0.07055589 less 0.44 0.586666666666667
## 11 Under.medium / AxcQ2 Homog. 0.51941991 0.30582151 less 0.604 0.644266666666667
## 12 Cec / AxcQ2 r 0.01535560 0.64604638 two-sided 0.557 0.685538461538462
## 13 T50 / AxcQ2 r 0.09017765 1.68962730 two-sided 0.069 0.276
## 14 T10 / AxcQ2 r 0.07446687 0.96376081 two-sided 0.393 0.571636363636364
## 15 Canopy.Height / AxcQ2 r 0.08380570 1.32469785 two-sided 0.193 0.428444444444444
## 16 Elevation / AxcQ2 r 0.12201475 1.37490180 two-sided 0.172 0.428444444444444
##
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Results can be represented using a table with colors indicating significance :
# print("seedlings")
#
# par(mfrow = c(1, 2))
# plot(testQaxes.comb.seed, alpha = 0.05, type = "table",
# stat = "D2")
# plot(testRaxes.comb.seed, alpha = 0.05, type = "table",
# stat = "D2")
print("juveniles")## [1] "juveniles"
par(mfrow = c(1, 2))
plot(testQaxes.comb.juv, alpha = 0.05, type = "table",
stat = "D2")
plot(testRaxes.comb.juv, alpha = 0.05, type = "table",
stat = "D2")## [1] "adults"
par(mfrow = c(1, 2))
plot(testQaxes.comb.adu, alpha = 0.05, type = "table",
stat = "D2")
plot(testRaxes.comb.adu, alpha = 0.05, type = "table",
stat = "D2")Significance with axes can also be reported on the factorial map of RLQ analysis. Here, significant associations with the first axis are represented in blue, with the second axis in orange, with both axes in green (variables with no significant association are in black)
## [1] "juveniles"
## [1] "adults"